// package com.geetol.makename.ui.activity;
//
// import android.annotation.SuppressLint;
// import android.content.Intent;
// import android.os.Bundle;
// import android.os.Handler;
// import android.os.Message;
// import androidx.recyclerview.widget.GridLayoutManager;
// import androidx.recyclerview.widget.LinearLayoutManager;
// import androidx.recyclerview.widget.RecyclerView;
// import android.util.Log;
// import android.view.View;
// import android.webkit.JavascriptInterface;
// import android.webkit.WebResourceRequest;
// import android.webkit.WebResourceResponse;
// import android.webkit.WebSettings;
// import android.webkit.WebView;
// import android.webkit.WebViewClient;
// import android.widget.ImageView;
// import android.widget.TextView;
//
// import com.chad.library.adapter.base.BaseQuickAdapter;
// import com.geetol.makename.R;
// import com.geetol.makename.base.BaseActivity;
// import com.geetol.makename.http.beans.NameInfo;
// import com.geetol.makename.ui.adapter.BaiJiaXingNameAdapter;
// import com.geetol.makename.utils.GetJsonDataUtil;
// import com.google.gson.Gson;
// import com.google.gson.reflect.TypeToken;
// import com.gtdev5.geetolsdk.mylibrary.util.SpUtils;
// import com.gtdev5.geetolsdk.mylibrary.util.ToastUtils;
// import com.gtdev5.geetolsdk.mylibrary.util.Utils;
//
// import org.jsoup.Connection;
// import org.jsoup.Jsoup;
// import org.jsoup.nodes.Document;
// import org.jsoup.nodes.Element;
// import org.jsoup.select.Elements;
//
// import java.io.IOException;
// import java.lang.reflect.Type;
// import java.net.MalformedURLException;
// import java.net.URL;
// import java.util.ArrayList;
// import java.util.List;
//
// import butterknife.BindView;
// import butterknife.ButterKnife;
//
// /**
//  * Info     ： Create by Zeoy
//  * Introduce：点字母后 名字列表
//  * Date     ： 2019/6/12
//  */
// public class BaiJiaXingNameActivity extends BaseActivity {
//     @BindView(R.id.iv_title_back)
//     ImageView ivTitleBack;
//     @BindView(R.id.tv_title)
//     TextView tvTitle;
//     @BindView(R.id.tv_right_bt)
//     TextView tvRightBt;
//     @BindView(R.id.tv_reset)
//     TextView tv_reset;
//     @BindView(R.id.rv)
//     RecyclerView rv;
//     @BindView(R.id.webView)
//     WebView webView;
//     private String url1;
//     private String zimu;
//     private String name;
//     private List<NameInfo> list = new ArrayList<>();
//     private BaiJiaXingNameAdapter adapter;
//
//
//     @Override
//     protected int getLayoutId() {
//         return R.layout.activity_baijiaxing_layout;
//     }
//
//     @Override
//     public void initView() {
//         if (getIntent() != null) {
//             zimu = getIntent().getStringExtra("zimu");
//             if (zimu.length() == 2) {
//                 zimu = zimu.substring(1, 2);
//             }
//
//             url1 = "https://xing.911cha.com/list_" + zimu + ".html";
//         }
//         Log.e("baijiaxin>>>", "url1:" + url1);
//         tvTitle.setText("百家姓查询");
//         ivTitleBack.setVisibility(View.VISIBLE);
//         ivTitleBack.setOnClickListener(v -> finish());
//
//         iniview();
//
//         if (Utils.isNetworkAvailable(getContext())) {
//             showLoading();
//             getDataByJsoup();
//         } else {
//             ToastUtils.showLongToast("请检查网络连接状态");
//         }
//
//     }
//
//     private void getWebViewData() {
//         if (list.size()>0)return;
//         if (handler != null) handler.removeMessages(1);
//         webView.loadUrl(url1);
//         //使webview支持javascript
//         WebSettings mSetting = webView.getSettings();
//         mSetting.setJavaScriptEnabled(true);
//
//         //添加一个js交互对象
//         webView.addJavascriptInterface(new InJavaScriptLocalObj(), "java_obj");
//         //添加一个WebViewClient监听状态，并且在完成时通过js调用java对象的方法
//         webView.setWebViewClient(new WebViewClient() {
//             @Override
//             public void onPageFinished(WebView view, String url) {
//                 view.loadUrl("javascript:window.java_obj.getSource(document.documentElement.outerHTML);void(0)");
//                 super.onPageFinished(view, url);
//             }
//         });
//     }
//
    public final class InJavaScriptLocalObj {
        //一定也要加上这个注解,否则没有用
        @JavascriptInterface
        public void getSource(String html) {
            Log.e("=====", "getSource: " + html);
            Document doc = Jsoup.parse(html);
            Elements titleLinks = doc.select("ul.zi.ptb>li");
            if (titleLinks.size()==0){
                titleLinks = doc.select("ul.zi.pb>li");
            }

            Log.e("baijiaxin>>>", "doc:" + doc.toString());
            for (Element edd : titleLinks) {
                String s = edd.select("a").text();
                NameInfo nameInfo = new NameInfo();
                if (s.contains(" ")) {
//                            两个名字的
                    zimu = s.substring(0, s.length() - 2);
                    name = s.substring(s.length() - 2);
//                            Log.e("iii","复 = " + name );
                } else {
                    //不含空格单姓
                    zimu = s.substring(0, s.length() - 1);
                    name = s.substring(s.length() - 1);
//                            Log.e("iii","单 = " + name );
                }
                nameInfo.setZimu(zimu);
                nameInfo.setName(name);
                list.add(nameInfo);
            }
            handler.postDelayed(() -> {
                if (list.size() > 0) {
                    adapter.replaceData(list);
                    rv.setVisibility(View.VISIBLE);
                    tv_reset.setVisibility(View.GONE);
                } else {
                    rv.setVisibility(View.GONE);
                    tv_reset.setVisibility(View.VISIBLE);
                }
                hideLoading();
            }, 500);
        }
    }
//
//     private void iniview() {
//         adapter = new BaiJiaXingNameAdapter(null, null);
//         GridLayoutManager linearLayoutManager = new GridLayoutManager(this, 4);
//         linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
//         rv.setLayoutManager(linearLayoutManager);
//         rv.setAdapter(adapter);
//         adapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
//             @Override
//             public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
//                 Intent intent = new Intent(BaiJiaXingNameActivity.this, ExplainBaiJiaNameActivity.class);
// //                intent.putExtra("zimu",list.get(position).getZimu());
// //                intent.putExtra("xing",list.get(position).getUil());
//                 intent.putExtra("name", list.get(position).getName());
//                 startActivity(intent);
//             }
//         });
//         tv_reset.setOnClickListener(v -> {
//             if (Utils.isNetworkAvailable(getContext())) {
//                 showLoading();
//                 getDataByJsoup();
//             } else {
//                 ToastUtils.showLongToast("请检查网络连接状态");
//             }
//         });
//     }
//
//     private void getDataByJsoup() {
//         if (handler != null)
//             handler.removeMessages(1);
//         // 开启一个新线程
// //        new Thread(new Runnable() {
// //            @Override
// //            public void run() {
// //
// //                try {
// //                    Connection connection = Jsoup.connect(url1);
// //                    Log.e("Connection", "get");
// ////                    connection.timeout(10000);
// //                    Document doc = connection.get();
// //                    Log.e("doc", "get");
// //                    Elements titleLinks = doc.select("ul.zi.pb>li");
// //                    if (titleLinks.size()==0){
// //                        titleLinks = doc.select("ul.zi.ptb>li");
// //                    }
// //                    Log.e("baijiaxin>>>", "doc:" + doc.toString());
// //                    for (Element edd : titleLinks) {
// //                        String s = edd.select("a").text();
// //
// //                        Log.e("baijiaxin>>>", "Element:" + s.toString());
// //                        NameInfo nameInfo = new NameInfo();
// //                        if (s.contains(" ")) {
// ////                            两个名字的
// //                            zimu = s.substring(0, s.length() - 2);
// //                            name = s.substring(s.length() - 2);
// ////                            Log.e("iii","复 = " + name );
// //                        } else {
// //                            //不含空格单姓
// //                            zimu = s.substring(0, s.length() - 1);
// //                            name = s.substring(s.length() - 1);
// ////                            Log.e("iii","单 = " + name );
// //                        }
// //                        nameInfo.setZimu(zimu);
// //                        nameInfo.setName(name);
// //                        list.add(nameInfo);
// //                    }
// //                    Log.e("baijiaxin>>>", "收到数据大小:" + list.size());
// //
// ////                    final Message message = new Message();
// ////                    message.what = 1;
// ////                    handler.sendMessage(message);
// //                    handler.postDelayed(() -> {
// //                        if (list.size() > 0) {
// //                            adapter.replaceData(list);
// //                            hideLoading();
// //                        } else {
// //                            getWebViewData();
// //                        }
// //                    }, 500);
// //                } catch (IOException e) {
// //                    e.printStackTrace();
// //                }
// //            }
// //        }).start();
//         getWebViewData();
//
//         handler.postDelayed(new Runnable() {
//             @Override
//             public void run() {
//                 if (list.size() == 0) {
//                     String zimu = getIntent().getStringExtra("zimu");
//                     if (zimu.length() == 2) {
//                         zimu = zimu.substring(1, 2);
//                     }
//                     String json = new GetJsonDataUtil().getJson(BaiJiaXingNameActivity.this, zimu + ".json");
//                     list = new Gson().fromJson(json, new TypeToken<ArrayList<NameInfo>>() {
//                     }.getType());
//                     if (list.size() > 0) {
//                         adapter.replaceData(list);
//                         rv.setVisibility(View.VISIBLE);
//                         tv_reset.setVisibility(View.GONE);
//                     } else {
//                         rv.setVisibility(View.GONE);
//                         tv_reset.setVisibility(View.VISIBLE);
//                     }
//                     hideLoading();
//                 }
//             }
//         }, 6000L);
//
//     }
//
//
//
//     @SuppressLint("HandlerLeak")
//     private Handler handler = new Handler() {
//         @Override
//         public void handleMessage(Message msg) {
//             super.handleMessage(msg);
//             switch (msg.what) {
//                 case 1:
//                     if (list.size() > 0) {
//                         adapter.replaceData(list);
//                         rv.setVisibility(View.VISIBLE);
//                         tv_reset.setVisibility(View.GONE);
//                     } else {
//                         rv.setVisibility(View.GONE);
//                         tv_reset.setVisibility(View.VISIBLE);
//                     }
//                     hideLoading();
//                     break;
//             }
//         }
//     };
//
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         // TODO: add setContentView(...) invocation
//         ButterKnife.bind(this);
//     }
// }
